package abstractfactory.factory;

import abstractfactory.product.cheese.Cheese;
import abstractfactory.product.cheese.ReggianoCheese;
import abstractfactory.product.clams.Clams;
import abstractfactory.product.clams.FreshClams;
import abstractfactory.product.dough.Dough;
import abstractfactory.product.dough.ThinCrustDough;
import abstractfactory.product.sauce.MarinaraSauce;
import abstractfactory.product.sauce.Sauce;

/**
 * description:
 *
 * @author yuanmenglv on 2019/11/28
 */
public class NewyorkFactory implements AbstractFactory {
    @Override
    public Cheese createCheese() {
        return new ReggianoCheese();
    }

    @Override
    public Clams createClams() {
        return new FreshClams();
    }

    @Override
    public Dough createDough() {
        return new ThinCrustDough();
    }

    @Override
    public Sauce createSauce() {
        return new MarinaraSauce();
    }
}
